package com.leo.datastruct.sort;

/**
 *
 * @author xuexiaolei
 * @version 2018年02月02日
 */
public class BubbleSort extends Sortable {

    public BubbleSort(String sortMethodName) {
        super(sortMethodName);
    }

    @Override
    public void sort(int[] s) {
        for (int i = s.length; i > 0 ; i--) { //外循环记录比较的长度，每次沉下去的值就不需要再次参与比较了
            for (int j = 0; j < i - 1; j++) { //相邻的两个值以一一比较，将本轮最大值沉下去
                if (s[j] > s[j+1]){
                    swap(s, j, j+1);
                }
            }
        }
    }

    public static void main(String[] args) {
        Sortable a = new BubbleSort("冒泡排序");
        a.testSort(new int[]{49,38,65,97,76,13,27,49,78,34,12,64,1});
    }
}
